package edu.zut2.poly_demo;

/**
 * 在继承基础上， 通过方法重写以及向上转型实现多态
 */
public class Test {

    public static void main(String[] args) {
        Bird bird;
        bird = new Bird("tom","灰色","捕捉小虫子");
        bird.fly();
        Pigeon pigeon = new Pigeon("jack","白色","送信");
        pigeon.fly();
        //子类类型的对象指向父类类型的引用变量   向上转型
        bird = pigeon;
        //向上转型后，父类类型的引用变量可以调用子类重写后的方法，但是不能调用子类独有的方法（属性）
        bird.fly();
//        bird.send();
        bird = new Ostrich("小辉","灰色","锻炼");
        bird.fly();
    }

}
